// IAudioMixerService.aidl
package com.mediaideas.videoengine;
import com.mediaideas.videoengine.IAudioMixerStatusCallback;
import com.mediaideas.videoengine.AudioMixerParams;

// Declare any non-default types here with import statements
// 混音Service对外接口
interface IAudioMixerService {
    /**
     * Demonstrates some basic types that you can use as parameters
     * and return values in AIDL.
     */
//    void basicTypes(int anInt, long aLong, boolean aBoolean, float aFloat,
//            double aDouble, String aString);
    // 获取混音Service进程ID
    int getAudioMixerServicePid();
    // 获取混音Service处理状态
    int getAudioProcessStatus();
    // 获取混音Service是否处于bind状态
    boolean hasUseAudioMixerService();
    // 开始混音处理
    int startAudioMixer(in AudioMixerParams params);
    // 取消混音-并销毁资源,调用cancel可以不调用destroy方法
    int cancelAudioMixer();
    // 销毁混音分配的资源
    int destory();
    // 设置混音回调接口
    void setAudioMixerStatusCallback(IAudioMixerStatusCallback callback);
    void removeAudioMixerStatusCallback();
}
